package com.jdjc.subject.application.convert;

import com.jdjc.subject.application.dto.SubjectCategoryDTO;
import com.jdjc.suject.domin.entity.SubjectCategoryBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 该接口使用了 @Mapper 注解。这个接口与 MapStruct 库一起使用，该库是一个 Java 注解处理器库，用于自动生成 Java 对象之间的映射代码。
 */
@Mapper
public interface SubjectCatrgoryDTOConverter {
    SubjectCatrgoryDTOConverter INSTANCE= Mappers.getMapper(SubjectCatrgoryDTOConverter.class);

    /**
     * 定义了一个方法 convertBOToCategory，该方法接受一个 SubjectCategoryDTO类型的参数，并返回一个 SubjectCategory 类型的对象。
     * @param subjectCategoryDTO
     * @return
     */
    //dto转为bo
    SubjectCategoryBO convertBOToCategory(SubjectCategoryDTO subjectCategoryDTO);

    List<SubjectCategoryDTO> convertCategoryListToDTOList(List<SubjectCategoryBO> subjectCategoryBOList);

    SubjectCategoryBO convertDTOToCategoryBO(SubjectCategoryDTO subjectCategoryDTO);

    SubjectCategoryDTO convertBOToDTO(SubjectCategoryBO bo);
}
